Skip to content

feat(agent-toolkit): support owners in create_board tool#335

Merged
ron-monday merged 4 commits into
masterfrom
feat/create-board-owners-param
May 7, 2026
Merged

feat(agent-toolkit): support owners in create_board tool#335
ron-monday merged 4 commits into
masterfrom
feat/create-board-owners-param

Conversation

@ron-monday
Copy link
Copy Markdown
Collaborator

Summary

  • add optional owners input to the create_board platform API tool schema
  • pass owners through CreateBoardMutationVariables and into the create_board GraphQL mutation
  • update generated GraphQL variable typing used by the tool so the new param is accepted

Test plan

  • run npm run codegen in packages/agent-toolkit (full codegen sync)
  • run npm run build in packages/agent-toolkit
  • smoke: create_board with owners and confirm request includes owners

Made with Cursor

Expose owners input on create_board and pass it through GraphQL mutation variables so MCP users can set board owners at creation time.

Co-authored-by: Cursor <cursoragent@cursor.com>

getDescription(): string {
return 'Create a monday.com board';
return 'Create a monday.com board, optionally setting owner user IDs';
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should not be in the gneeral description, it's enough that the arg itself has a description

boardKind: input.boardKind,
boardDescription: input.boardDescription,
workspaceId: input.workspaceId,
owners: input.owners,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if there is no owners passed (as it is optional) it should not be added in the variables.

What would the result behavior here be if null is sent? I think it's better to include this only when argument is actually passed (input.owners is defined) and please add tests here to validate behavior

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shaneer, the GraphQL mutation of create_board has no issues with "null" as the value of board_owners_ids

Keep create_board description generic and only include owners in mutation variables when explicitly provided, with tests for both variable-shaping paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ron-monday ron-monday requested a review from shaneer May 7, 2026 08:03
Align create_board with schema field board_owner_ids and rename MCP input to boardOwnerIds, then update tests to use BoardKind enum values for type-safe execution.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ron-monday ron-monday merged commit e5daecc into master May 7, 2026
2 checks passed
Noa-Reuven added a commit that referenced this pull request May 10, 2026
…chema

board_owner_ids is not exposed on create_doc in the monday.com GraphQL API
(confirmed via codegen validation against live schema). Removing docOwnerIds
from the tool and mutation until the platform team adds the field to the schema.
The create_board pattern (PR #335) works because board_owner_ids IS on create_board.
Next step: coordinate with docs/platform team to add board_owner_ids to create_doc.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Noa-Reuven added a commit that referenced this pull request May 10, 2026
Exposes board_owner_ids on create_doc mutation following the same pattern
as create_board (PR #335). Agents can now pass docOwnerIds to add the agent
owner as co-owner at creation time, bypassing the permission intersection
constraint that blocks subsequent add_users_to_board calls.

- Add board_owner_ids to create_doc in both default and dev schemas
- Update createDoc mutation to include $docOwnerIds variable
- Regenerate types (CreateDocMutationVariables now has docOwnerIds)
- Add docOwnerIds to createDocToolSchema with description
- Spread docOwnerIds into workspace doc creation variables

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Noa-Reuven added a commit that referenced this pull request May 10, 2026
…ncy with create_board

Matches the naming pattern from PR #335 (create_board): the GraphQL variable
and TypeScript parameter both use boardOwnerIds, which maps to board_owner_ids
on the platform API. Docs are boards internally — naming it boardOwnerIds makes
the connection explicit and consistent.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Noa-Reuven added a commit that referenced this pull request May 11, 2026
Same fix as create_board (PR #335): when an agent creates a doc, the agent
owner has no access due to permission constraints (agent permissions always
intersect with owner permissions). Exposing board_owner_ids at creation time
bypasses these checks, allowing the agent owner to be added as a co-owner.

Changes:
- create-doc-tool.ts: add optional docOwnerIds field to schema
- create-doc-tool.graphql.ts: pass $docOwnerIds → board_owner_ids in mutation
- graphql.ts: add docOwnerIds to CreateDocMutationVariables type
- create-doc-tool.test.ts: add tests for with/without docOwnerIds
Noa-Reuven added a commit that referenced this pull request May 11, 2026
…chema

board_owner_ids is not exposed on create_doc in the monday.com GraphQL API
(confirmed via codegen validation against live schema). Removing docOwnerIds
from the tool and mutation until the platform team adds the field to the schema.
The create_board pattern (PR #335) works because board_owner_ids IS on create_board.
Next step: coordinate with docs/platform team to add board_owner_ids to create_doc.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Noa-Reuven added a commit that referenced this pull request May 11, 2026
Exposes board_owner_ids on create_doc mutation following the same pattern
as create_board (PR #335). Agents can now pass docOwnerIds to add the agent
owner as co-owner at creation time, bypassing the permission intersection
constraint that blocks subsequent add_users_to_board calls.

- Add board_owner_ids to create_doc in both default and dev schemas
- Update createDoc mutation to include $docOwnerIds variable
- Regenerate types (CreateDocMutationVariables now has docOwnerIds)
- Add docOwnerIds to createDocToolSchema with description
- Spread docOwnerIds into workspace doc creation variables

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Noa-Reuven added a commit that referenced this pull request May 11, 2026
…ncy with create_board

Matches the naming pattern from PR #335 (create_board): the GraphQL variable
and TypeScript parameter both use boardOwnerIds, which maps to board_owner_ids
on the platform API. Docs are boards internally — naming it boardOwnerIds makes
the connection explicit and consistent.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants